package br.ucb.managedBean;

import java.util.ArrayList;
import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.event.ActionEvent;

import br.ucb.dao.ItemDao;
import br.ucb.enumCategoriaItem.EnumCategoriaItem;
import br.ucb.model.Item;
@ManagedBean(name="itemManagedBean")
@SessionScoped
public class ItemManagedBean {
	private Item item;
	private ItemDao itemDao = new ItemDao();
	private List<Item> itens = new ArrayList<Item>();
	private String categoriaItem;
	
	public ItemManagedBean(){
		setItem(new Item());
		setItens(getItemDao().findAll());
	}	
	
	public Item getItem() {
		return item;
	}

	public void setItem(Item item) {
		this.item = item;
	}
	
	public ItemDao getItemDao() {
		return itemDao;
	}

	public void setItemDao(ItemDao itemDao) {
		this.itemDao = itemDao;
	}

	public List<Item> getItens() {
		return itens;
	}

	public void setItens(List<Item> itens) {
		this.itens = itens;
	}

	public String salvar(){
		getItem().setCategoria(EnumCategoriaItem.findEnumByDesc(getCategoriaItem()));
		getItemDao().add(getItem());
		setItens(getItemDao().findAll());
		return "itemLista";
	}

	public String getCategoriaItem() {
		return categoriaItem;
	}

	public void setCategoriaItem(String categoriaItem) {
		this.categoriaItem = categoriaItem;
	}
	public String alterar(){
		getItemDao().update(getItem());
		setItens(getItemDao().findAll());
		return "itemLista";
		
	}
	public void excluir(ActionEvent evento){
		setItem((Item) evento.getComponent().getAttributes().get("item"));
		getItemDao().delete(getItem());
		setItens(getItemDao().findAll());
	}
}
